//
//  OrderDetailViewController.h
//  DaJiang
//
//  Created by sally on 16/10/10.
//  Copyright © 2016年 jiniu. All rights reserved.
//

#import "ExpertModel.h"
#import "OrderModel.h"
#import <UIKit/UIKit.h>

//预约页面类型
typedef NS_ENUM(NSUInteger, OrderDetailType) {
  OrderDetailType_Normal, //普通用户的预约流程
  OrderDetailType_Expert, //专家的预约详情
};

//普通用户的预约流程状态 - 填写、待专家确认、已提醒专家确认、被拒绝、已取消、待付款、付款中、待见面、未见面、评价、已完成
//专家的预约详情状态 - 待确认、待见面、已取消、已完成
typedef NS_ENUM(NSUInteger, OrderNormalStatus) {
  OrderNormalStatus_FillIn,      //填写-两textview、底按钮
  OrderNormalStatus_ToBeConfirm, //待专家确认-两大文本、订单+时间、按钮
  OrderNormalStatus_Reminded,    //已提醒专家确认-两大文本、订单+时间、按钮
  OrderNormalStatus_Rejected,    //被拒绝-两大文本、订单+时间
  OrderNormalStatus_Cancelled,   //已取消-两大文本、订单+时间、拒绝原因+时间
  OrderNormalStatus_ToPay,       //待付款-计时、两大文本、订单+时间、底按钮
  OrderNormalStatus_PayIng,      //付款中-计时、支付、订单+时间、底按钮
  OrderNormalStatus_ToMeet,      //待见面-见面、按钮+文本、底按钮
  OrderNormalStatus_NoMeet,      //未见面-两大文本、订单+时间、见面
  OrderNormalStatus_Comment,     //评价-打分、textview、两大文本、订单+时间、见面、底按钮
  OrderNormalStatus_Finished,    //已完成-打分、三大文本、订单+时间、见面
};

typedef NS_ENUM(NSUInteger, OrderExpertStatus) {
  OrderExpertStatus_ToBeConfirm, //待确认-同上
  OrderExpertStatus_ToMeet,      //待见面-两大文本、订单+时间、见面、（用户没出现、底按钮）
  OrderExpertStatus_Cancelled,   //已取消-同上
  OrderExpertStatus_Finished,    //已完成-同上
};

@protocol OrderDetailVcDelegate;

@interface OrderDetailViewController : UIViewController

@property (assign, nonatomic) OrderDetailType orderDetailType;     //普通用户or专家
@property (assign, nonatomic) OrderNormalStatus orderNormalStatus; //普通用户预约状态
@property (assign, nonatomic) OrderExpertStatus orderExpertStatus; //专家预约状态

/**
 *  一共三个入口：专家详情页、话题详情页、订单列表页
 *  专家详情页、话题详情页：都去到“普通用户”的“填写”状态；都传专家详情model；
 *  订单列表页：则要区分状态；传订单model；
 */
//专家详情、话题详情进入
@property (strong, nonatomic) ExpertDetailModel *expertDetail;
@property (strong, nonatomic) TopicModel *topicModel;
//订单列表进入
@property (strong, nonatomic) OrderModel *orderModel;

@property (nonatomic, assign) id<OrderDetailVcDelegate> delegate;

@end

@protocol OrderDetailVcDelegate <NSObject>
- (void)refreshOrderListVc;
@end
